#include <iostream>

using namespace std;
const int N=2*1e5+10;

int nex[N];

int n;
string str;
int main()
{
	cin>>n;
	cin>>str;
	str=' '+str;
	nex[0]=nex[1]=0;
	for(int i=2,j=0;i<=n;i++)
	{
		while(j && str[i]!=str[j+1])
			j=nex[j];
		
		if(str[i]==str[j+1])
			j++;
		nex[i]=j;
	}
	int ret=0;
	for(int i=0;i<=n;i++)
	{
		ret=max(ret,nex[i]);
	}
	cout<<ret<<endl;
	return 0;
	
}
